package com.nefu.softlab.xjwc.service;

import com.nefu.softlab.xjwc.model.User;
import com.nefu.softlab.xjwc.utils.JSONResult;
import com.nefu.softlab.xjwc.utils.XJWCException;

import java.util.List;

/**
 * @author : Ar1es
 * @date : 2020/1/12
 * @since : Java 8
 */
public interface UserService {


    /**
     * 注册用户
     * @param user
     * @return
     */
    JSONResult insertUser(User user) throws XJWCException;

    /**
     * 修改个人账号密码
     * @param user
     * @return
     */
    int updateUserPassword(User user) throws XJWCException;

    /**
     * 修改个人信息
     * @param user
     * @return
     */
    int updateUserInfo(User user) throws XJWCException;

    /**
     * 查询所有user用户
     * @return
     */
    List<User> selectAllUser(User user) throws XJWCException;

    /**
     * 查看单一用户信息
     * @return
     */
    List<User> selectUserInfo(User user) throws XJWCException;

    /**
     * 根据用户id删除用户
     * @param userId
     * @return
     */
    Object deleteUserById(String userId) throws XJWCException;


    /**
     * 更新redis
     */
    void updateRedis();

    /**
     * 添加管理员账号
     * @param user
     * @return
     */
    String addAdmin(User user) throws XJWCException;
}
